// components/TestFooter/TestFooter.js
const res = require('../../behaviors/behaviorsTest');
Component({
    behaviors:[res],
    // 组件当中的样式隔离
    options:{
        // 默认启动样式隔离 class类样式 不会影响其他
        styleIsolation:'isolated'
        // 建议在小程序和组件写样式时，使用class ,尽量不要使用id 标签选择器和属性选择器
    },
    /**
     * 组件的属性列表
     */
    properties: {
       /*  title:{
            type:String,
            value:'我是默认值',
        } */
        title:String
    },

    /**
     * 组件的初始数据
     */
    data: {
        info:'乾坤未定，你我皆是黑马！！',
        num:1,
        obj:{
            name:'tom',
            age:10
        }
    },

    /**
     * 组件的方法列表
     */
    methods: {
        // 小程序组件当中的事件写到 methods当中
        testComponent(){
            console.log('这是组件当中的事件');
            console.log(this);
            this._showInfo();
        },
        _showInfo(){//自定义方法建议以下划线开头
            console.log('你们即将成为就业班！！')
        },
        updateNum(){
            console.log(this.data.num);
            // this.data.num += 1;
            this.setData({num:this.data.num + 1})
        },
        changeAge(){
            this.setData({
                obj:{
                    name:'tom',
                    age:20
                }
            })
        }

    },
    // observers 侦听器 相当于vue中的watch
    observers:{
        num:(value)=>{
            console.log(value)
        },
        'obj.age':(value)=>{
            console.log(value);
        }

    },
    lifetimes:{
        // 组件创建时有的
        created(){
            console.log('created');
            console.log(this.data.num);
            // console.log(this.setData)
            this.setData({
                num:10
            });
            console.log(this.data.num);
            console.log(this);

        },
        // 组件在进入页面节点时执行
        attached(){
            console.log('attached')
        },
        // 组件视图布局完成之后执行
        ready(){
            console.log('ready')
        },
        detached(){
            console.log('移除时触发的')
        }
    },
    pageLifetimes:{
        // 组件所在的页面被展示时执行
        show(){
            console.log('show');
        },
        hide(){
            console.log('hide')
        },
        resize(){
            console.log('resize')
        }
    }
})
